package ms.unicorn.dsl;

import org.eclipse.draw2d.Border;
import org.eclipse.draw2d.ConnectionAnchor;
import org.eclipse.draw2d.Graphics;
import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.geometry.Insets;
import org.eclipse.draw2d.geometry.PointList;
import org.eclipse.draw2d.geometry.PrecisionPoint;


public interface IBorderEx extends Border {
	void paint(IFigure figure, Graphics graphics, Insets noInsets, ITheme theme);

	Class<? extends ConnectionAnchor> getConnectionAnchorClass();

	double getSlidableAnchorArea();

	PointList getPolyPoints(IFigure figure);
	
	Insets getInsets(IFigure figure, ITheme theme);
	
	ConnectionAnchor createAnchor(IFigure figure);
	
	ConnectionAnchor createAnchor(IFigure figure, PrecisionPoint p);
}
